package com.midea.designPatterns;

/**
 * @description：
 * @author: wangwl23
 * @create: 2020-12-02 16:54
 * 懒汉式，顾名思义就是实例在用到的时候才去创建，“比较懒”，用的时候才去检查有没有实例，如果有则返回，没有则新建。有线程安全和线程不安全两种写法，区别就是synchronized关键字。
 * 懒汉模式是相对于饿汉模式而言的，在jvm进程启动并在我们主动使用该类的时候不会在内存中初始化一个单例对象，只有当我们调用getInstance()的时候才去创建该对象，
 * 他的创建是在我们调用getInstance()静态方法之后，为了并没现象同步问题，我们在getInstance()方法上加了一个锁，这个方法每次只允许一个线程进来，
 * 虽然同步问题是解决了，但是相应的性能问题就出现了。
 */
public class Singleton_Lanhan {
    private static Singleton_Lanhan singleton = null;
    private Singleton_Lanhan(){}
    public static synchronized  Singleton_Lanhan getSingleton(){
        if (singleton == null ){
            singleton = new Singleton_Lanhan();
        }
        return singleton;
    }
}
